home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
language
/
parallax
/
mac_sit.hqx
/
Parallaxis 2.11
/
sort.p
< prev
next >
Wrap
Text File
|
1991-08-23
|
937b
|
46 lines
SYSTEM sort;
(* Odd-Even Transposition Sorting (parallel bubble-sort) *)
CONST n = 10;
CONFIGURATION list [1..n];
CONNECTION left : list[i] -> list [i-1].right;
right: list[i] -> list [i+1].left;
SCALAR k: INTEGER;
a: ARRAY[1..n] OF INTEGER;
VECTOR val,r,l: INTEGER;
swap : BOOLEAN;
BEGIN
WriteString('Enter 10 values: ');
FOR k:=1 TO n DO ReadInt(a[k]) END;
LOAD(val,a);
FOR k:=1 TO n DO
PARALLEL
PROPAGATE.right(val,l);
PROPAGATE.left(val,r);
swap := FALSE;
IF ODD(k) THEN
IF ODD(DIM1) AND (r<val) THEN
val := r;
swap := TRUE
END
ELSE
IF EVEN(DIM1) AND (r<val) THEN
val := r;
swap := TRUE
END;
END;
PROPAGATE.right(swap);
IF swap AND (id_no > 1) THEN val:=l END;
ENDPARALLEL
END;
STORE(val,a);
FOR k:=1 TO n DO WriteInt(a[k],10); WriteLn END;
END sort.